package controll;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import modell.Gestor;

@ManagedBean
@SessionScoped
public class LoginBean {
	private Gestor gestorSelecionado = new Gestor();
	public Gestor getGestorSelecionado() {
		return gestorSelecionado;
	}

	public void setGestorSelecionado(Gestor gestorSelecionado) {
		this.gestorSelecionado = gestorSelecionado;
	}

	private Boolean statusLogin;
	private FacesMessage faces = null;
	
	@ManagedProperty(value="#{navegacaoBean}")
	private NavegacaoBean navegacaoBean;

	public void setNavegacaoBean(NavegacaoBean navegacaoBean) {
		this.navegacaoBean = navegacaoBean;
	}

	public String BuscarLoginTest() {
		
		GestorRN configUsuarioRN = new GestorRN();
		Gestor usuarioPesquisado = configUsuarioRN.pesquisarLogin(
				getGestorSelecionado().getLogin(), getGestorSelecionado()
						.getSenha());
		if (usuarioPesquisado != null) {
			faces = new FacesMessage("Seja bem vindo: "
					+ usuarioPesquisado.getLogin());
			statusLogin = true;
			return navegacaoBean.redirectToPrincipal();
		} 
		
		faces = new FacesMessage("Usuário/Senha não encontrado!");
		FacesContext contexto = FacesContext.getCurrentInstance();
		contexto.addMessage(null, faces);
		return navegacaoBean.toLogin();
	}
	
	public String doLogout(){
		statusLogin = false;
		faces = new FacesMessage("Logout com sucesso!", "INFO MSG");
		faces.setSeverity(FacesMessage.SEVERITY_INFO);
		FacesContext.getCurrentInstance().addMessage(null, faces);
		
		return navegacaoBean.redirectToLogin();
		
	}

	public Boolean getStatusLogin() {
		return statusLogin;
	}

	public void setStatusLogin(Boolean statusLogin) {
		this.statusLogin = statusLogin;
	}
}
